삼성 기출 문제 경사로 (14890) 조건 경사로는 높이 1, 길이 L이다. 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 한다. 낮은 칸과 높은 칸의 높이 차이는 1이어야 한다. 경사로를 놓을 낮은 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 한다. 2.2 풀이 위에서 정리한 조건에 부합하게 경사로를 설치해서 각 행과 열에 대해서 하나씩 지날 수 있는 길인지 체크해서 카운팅하는 문... 백준삼성 기출 문제알고리즘코딩테스트백준 감시 (15683) 조건 CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다. CCTV는 벽을 통과할 수 없다. CCTV는 가로, 세로 방향으로만 감시할 수 있다. CCTV끼리는 통과할 수 있다. 풀이 DFS를 활용해서 CCTV가 감시하는 모든 경우의 수를 탐색하는 문제입니다. 주먹구구식으로 CCTV의 번호에 따라서 switch문이나 if문으로 어떤 방향으로 감시를 하라고 코딩을 할 순 있지만 그... 백준삼성 기출 문제알고리즘코딩테스트백준 퇴사 (14501) 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다. 상담을 하는데 필요한 기간은 1일보다 클 수 있기 때문에, 모든 상담을 할 수는 없다. 예를 들어서 1일에 상담을 하게 ... 백준삼성 기출 문제알고리즘코딩테스트백준 사다리 조작 (15684) 조건 가로선을 연속해서 설치할 수 없다. 가로선을 4개 이상 설치할 수 없다. 풀이 사다리를 설치하는 모든 경우의 수를 탐색해서 모든 세로선이 매칭되는지 확인하는 문제입니다. 계획을 세우고 차근차근 하나씩 구현해 나갑시다. 계획 1 - 사다리 가로선의 설치 정보를 2차원 boolean배열에 저장합니다. 일단 제가 가장 중요하게 생각하는 부분부터 처리를 해보죠. 현실의 사다리 게임을 어떻게 컴... 백준삼성 기출 문제알고리즘코딩테스트백준 게리맨더링 (17471) 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 백준시는 N개의 구역으로 나누어져 있고, 구역은 1번부터 N번까지 번호가 매겨져 있다. 구역을 두 개의 선거구로 나눠야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수... 백준삼성 기출 문제알고리즘코딩테스트백준 테트로미노 (14500) 조건 테트로미노를 회전, 대칭시킬 수 있다. 풀이 회전과 대칭시켜서 만들 수 있는 모든 경우의 테트로미노를 놓을 수 있는 모든 위치에 두어보면 됩니다. 이런 문제는 보통 만들 수 있는 테트로미노를 테이블로 정의하고 반복문으로 모든 위치를 탐색한 다음 종이 위에 테트로미노를 올릴 때 아까 정의한 테이블을 이용합니다. 총 정리를 해보면 1. 회전과 대칭시켜서 만들 수 있는 모든 경우의 테트로미노... 백준삼성 기출 문제알고리즘코딩테스트백준 나무 재테크 (16235) S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 칸에 대해서 조사를 한다. 상도는 나무 재테크로 더 큰 돈을 벌기 위해 M개의 나무를 구매해 땅에 심었다. 같은 1×1 크기의 칸에 여러 개의 나무가 심어져 있을 수도 있다. 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1×1 크기의 칸에 있는 양분만 먹을 수 있다.... 알고리즘삼성 기출 문제코딩테스트백준백준 게리맨더링2 (17779) 격자의 각 칸은 구역을 의미하고, r행 c열에 있는 구역은 (r, c)로 나타낼 수 있다. 구역을 다섯 개의 선거구로 나눠야 하고, 각 구역은 다섯 선거구 중 하나에 포함되어야 한다. (d1, d2 ≥ 1, 1 ≤ x < x+d1+d2 ≤ N, 1 ≤ y-d1 < y < y+d2 ≤ N) (x+d1+d2, y-d1+d2) 1번 선거구: 1 ≤ r < x+d1, 1 ≤ c ≤ y 2번 선거구:... 백준삼성 기출 문제알고리즘코딩테스트백준 파이프 옮기기1 (17070) 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 각각의 칸은 빈 칸이거나 벽이다. 파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다. 파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 즉, 파이프는 항상 빈 칸만 차지해야 한다. 파이프를 밀 수 있는 방향은 ... 백준삼성 기출 문제알고리즘코딩테스트백준 스타트와 링크 (14889) DFS를 이용해서 모든 팀원 조합을 구한 다음 답을 기저사례에서 계산할지 고민을 하는데 왜냐하면 모든 팀원 조합을 알아야지만 그 팀원의 능력치를 계산할 수 있기 때문이죠. 그러면 재귀호출로 모든 팀원의 조합을 구해봅시다. 이 때 영리하게 스타트팀 팀원의 조합만 구하면 나머지는 링크팀 팀원의 조합일테니 스타트 팀원의 조합만 만들어 나갑시다. 스타트 팀원의 조합을 만드는 방법은 i번째 사람이 스... 백준삼성 기출 문제알고리즘코딩테스트백준
경사로 (14890) 조건 경사로는 높이 1, 길이 L이다. 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 한다. 낮은 칸과 높은 칸의 높이 차이는 1이어야 한다. 경사로를 놓을 낮은 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 한다. 2.2 풀이 위에서 정리한 조건에 부합하게 경사로를 설치해서 각 행과 열에 대해서 하나씩 지날 수 있는 길인지 체크해서 카운팅하는 문... 백준삼성 기출 문제알고리즘코딩테스트백준 감시 (15683) 조건 CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다. CCTV는 벽을 통과할 수 없다. CCTV는 가로, 세로 방향으로만 감시할 수 있다. CCTV끼리는 통과할 수 있다. 풀이 DFS를 활용해서 CCTV가 감시하는 모든 경우의 수를 탐색하는 문제입니다. 주먹구구식으로 CCTV의 번호에 따라서 switch문이나 if문으로 어떤 방향으로 감시를 하라고 코딩을 할 순 있지만 그... 백준삼성 기출 문제알고리즘코딩테스트백준 퇴사 (14501) 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다. 상담을 하는데 필요한 기간은 1일보다 클 수 있기 때문에, 모든 상담을 할 수는 없다. 예를 들어서 1일에 상담을 하게 ... 백준삼성 기출 문제알고리즘코딩테스트백준 사다리 조작 (15684) 조건 가로선을 연속해서 설치할 수 없다. 가로선을 4개 이상 설치할 수 없다. 풀이 사다리를 설치하는 모든 경우의 수를 탐색해서 모든 세로선이 매칭되는지 확인하는 문제입니다. 계획을 세우고 차근차근 하나씩 구현해 나갑시다. 계획 1 - 사다리 가로선의 설치 정보를 2차원 boolean배열에 저장합니다. 일단 제가 가장 중요하게 생각하는 부분부터 처리를 해보죠. 현실의 사다리 게임을 어떻게 컴... 백준삼성 기출 문제알고리즘코딩테스트백준 게리맨더링 (17471) 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 백준시는 N개의 구역으로 나누어져 있고, 구역은 1번부터 N번까지 번호가 매겨져 있다. 구역을 두 개의 선거구로 나눠야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수... 백준삼성 기출 문제알고리즘코딩테스트백준 테트로미노 (14500) 조건 테트로미노를 회전, 대칭시킬 수 있다. 풀이 회전과 대칭시켜서 만들 수 있는 모든 경우의 테트로미노를 놓을 수 있는 모든 위치에 두어보면 됩니다. 이런 문제는 보통 만들 수 있는 테트로미노를 테이블로 정의하고 반복문으로 모든 위치를 탐색한 다음 종이 위에 테트로미노를 올릴 때 아까 정의한 테이블을 이용합니다. 총 정리를 해보면 1. 회전과 대칭시켜서 만들 수 있는 모든 경우의 테트로미노... 백준삼성 기출 문제알고리즘코딩테스트백준 나무 재테크 (16235) S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 칸에 대해서 조사를 한다. 상도는 나무 재테크로 더 큰 돈을 벌기 위해 M개의 나무를 구매해 땅에 심었다. 같은 1×1 크기의 칸에 여러 개의 나무가 심어져 있을 수도 있다. 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1×1 크기의 칸에 있는 양분만 먹을 수 있다.... 알고리즘삼성 기출 문제코딩테스트백준백준 게리맨더링2 (17779) 격자의 각 칸은 구역을 의미하고, r행 c열에 있는 구역은 (r, c)로 나타낼 수 있다. 구역을 다섯 개의 선거구로 나눠야 하고, 각 구역은 다섯 선거구 중 하나에 포함되어야 한다. (d1, d2 ≥ 1, 1 ≤ x < x+d1+d2 ≤ N, 1 ≤ y-d1 < y < y+d2 ≤ N) (x+d1+d2, y-d1+d2) 1번 선거구: 1 ≤ r < x+d1, 1 ≤ c ≤ y 2번 선거구:... 백준삼성 기출 문제알고리즘코딩테스트백준 파이프 옮기기1 (17070) 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 각각의 칸은 빈 칸이거나 벽이다. 파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다. 파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 즉, 파이프는 항상 빈 칸만 차지해야 한다. 파이프를 밀 수 있는 방향은 ... 백준삼성 기출 문제알고리즘코딩테스트백준 스타트와 링크 (14889) DFS를 이용해서 모든 팀원 조합을 구한 다음 답을 기저사례에서 계산할지 고민을 하는데 왜냐하면 모든 팀원 조합을 알아야지만 그 팀원의 능력치를 계산할 수 있기 때문이죠. 그러면 재귀호출로 모든 팀원의 조합을 구해봅시다. 이 때 영리하게 스타트팀 팀원의 조합만 구하면 나머지는 링크팀 팀원의 조합일테니 스타트 팀원의 조합만 만들어 나갑시다. 스타트 팀원의 조합을 만드는 방법은 i번째 사람이 스... 백준삼성 기출 문제알고리즘코딩테스트백준